Crosstalk (or inter-channel interference) is a major source of channel impairment for Multiple Input Multiple Output (MIMO) wired communication systems, such as Digital Subscriber Line (DSL) communication systems.
As the demand for higher data rates increases, DSL systems are evolving toward higher frequency bands, wherein crosstalk between neighboring transmission lines (that is to say transmission lines that are in close vicinity over part or whole of their length, such as twisted copper pairs in a cable binder) is more pronounced (the higher frequency, the more coupling).
Different strategies have been developed to mitigate crosstalk and to maximize effective throughput, reach and line stability. These techniques are gradually evolving from static or dynamic spectral management techniques to multi-user signal coordination (vectoring hereinafter).
One technique for reducing inter-channel interference is joint signal precoding: the transmit data symbols are jointly passed through a precoder before being transmitted over the respective communication channels. The precoder is such that the concatenation of the precoder and the communication channels results in little or no inter-channel interference at the receivers.
A further technique for reducing inter-channel interference is joint signal post-processing: the receive data symbols are jointly passed through a postcoder before being detected. The postcoder is such that the concatenation of the communication channels and the postcoder results in little or no inter-channel interference at the receivers. Postcoders are also sometimes referred to as crosstalk cancellation filters.
Signal vectoring is typically performed at a traffic aggregation point as vectoring primarily implies that data symbols concurrently transmitted over, or received from, the vectored lines are bunched and passed all together through the precoder or postcoder. For instance, signal vectoring is advantageously performed within a Digital Subscriber Line Access Multiplexer (DSLAM) deployed at a Central Office (co), or as a fiber-fed remote unit closer to subscriber premises (street cabinet, pole cabinet, building cabinet, etc). Such a remote unit may also be referred to as a remote DSLAM, an Optical Network Unit (ONU), or a Distribution Point Unit (DPU). Signal precoding is particularly appropriate for downstream communication (toward customer premises), while signal post-processing is particularly appropriate for upstream communication (from customer premises).
The choice of the vectoring group, that is to say the set of communication lines, the signals of which are jointly processed, is rather critical for achieving good crosstalk mitigation performances. Within a vectoring group, each communication line is considered as a disturber line inducing crosstalk into the other communication lines of the group, and the same communication line is considered as a victim line incurring crosstalk from the other communication lines of the group. Crosstalk from lines that do not belong to the vectoring group is treated as alien noise and is not canceled.
Ideally, the vectoring group should match the whole set of communication lines that physically and noticeably interfere with each other. Yet, local loop unbundling on account of national regulation policies and/or limited vectoring capabilities may prevent such an exhaustive approach, in which case the vectoring group would include a sub-set only of all the interfering lines, thereby yielding limited vectoring gains.
More formally, a vectored system can be described by the following linear model:Y(k)=H(k)X(k)+Z(k)  (1),wherein the N-component complex vector X, respectively Y, denotes a discrete frequency representation, as a function of the frequency/carrier/tone index k, of the symbols transmitted over, respectively received from, the N vectored channels, wherein the N×N complex matrix H is referred to as the channel matrix: the (i,j)-th component hij of the channel matrix H describes how the communication system produces a signal on the i-th channel output in response to a signal being transmitted to the j-th channel input; the diagonal elements of the channel matrix describe direct channel coupling, and the off-diagonal elements of the channel matrix (also referred to as the crosstalk coefficients) describe inter-channel coupling,and wherein the N-component complex vector Z denotes additive noise over the N channels, such as Radio Frequency Interference (RFI) or thermal noise.
Linear signal precoding and post-processing are advantageously implemented by means of matrix products.
In downstream, the linear precoder performs a matrix-product in the frequency domain of a transmit vector U(k) with a precoding matrix P(k), i.e. X(k)=P(k)U(k) in eq. (1), the precoding matrix P(k) being such that the overall channel matrix H(k)P(k) is diagonalized, meaning the off-diagonal coefficients of the overall channel H(k)P(k), and thus the inter-channel interference, mostly reduce to zero.
Practically, and as a first order approximation, the precoder superimposes anti-phase crosstalk pre-compensation signals over the victim line along with the direct signal that destructively interfere at the receiver with the actual crosstalk signals from the respective disturber lines.
In upstream, the linear postcoder performs a matrix-product in the frequency domain of the receive vector Y(k) with a crosstalk cancellation matrix Q(k) to recover the transmit vector U(k) (after channel equalization and power normalization), the crosstalk cancellation matrix Q(k) being such that the overall channel matrix Q(k)H(k) is diagonalized, meaning the off-diagonal coefficients of the overall channel Q(k)H(k), and thus the inter-channel interference, mostly reduce to zero.
The performance of signal vectoring depends critically on the component values of the precoding or cancellation matrix, which component values are to be computed and updated according to the actual and varying channel couplings.
The various channel couplings are estimated by a vectoring controller based on pilot (or probing) signals transmitted over the respective channels. The pilot signals are typically transmitted over dedicated symbols and/or over dedicated tones.
For instance, in the recommendation entitled “self-FEXT Cancellation (Vectoring) For Use with VDSL2 Transceivers”, ref. G.993.5 (VDSL2 hereinafter), and adopted by the International Telecommunication Union (ITU) in April 2010, the transceiver units send pilot signals on the so-called SYNC symbols. The SYNC symbols occur periodically after every super frame, and are transmitted synchronously over all the vectored lines (super frame alignment). A similar technique has been adopted in G.9701 ITU recommendation (G.fast hereinafter).
On a given disturber line, a subset of the carriers of a SYNC symbol (pilot tones hereinafter) are all 4-QAM modulated by the same pilot digit from a given pilot sequence, and transmit one of two complex constellation points, either ‘1+j’ corresponding to ‘+1’ or ‘−1−j’ corresponding to ‘−1’ (VDSL2); or transmit one of three complex constellation points, either ‘1+j’ corresponding to ‘+1’ or ‘−1−j’ corresponding to ‘−1’ or ‘0+0j’ corresponding to ‘0’ (G.fast).
On a given victim line, both the real and imaginary part of the received frequency sample before equalization (G.fast), or of the normalized slicer error, which is the difference vector between the received and properly equalized frequency sample and the constellation point onto which this frequency sample is demapped (VDSL2 and G.fast), are measured on a per pilot tone basis and reported for a specific SYNC symbol to the vectoring controller for further crosstalk estimation.
The successive error samples gathered over a given victim line are next correlated with the pilot sequence used over a given disturber line in order to obtain an estimate of the channel coupling from the given disturber line into the given victim line. To reject the crosstalk contributions from the other disturber lines, the pilot sequences used over the respective disturber lines are mutually orthogonal (e.g., Walsh-Hadamard sequences).
The crosstalk estimates are eventually used for initializing the coefficients of the precoding or cancellation matrix, typically by means of a first or higher-order matrix inversion of the channel matrix for a Zero-Forcing (zF) linear precoder. Once the precoding or cancellation matrix is initialized and in force, the process is repeated as needed to track the residual crosstalk and to obtain more and more accurate estimates. Those estimates are then used to update the coefficients of the precoding or cancellation matrix, typically by means of additive or multiplicative matrix updates.
With the advent of new copper access technologies and the use of even broader spectrum up to and beyond 100 MHz, the crosstalk coupling substantially increases. The power of the crosstalk signals may even surpass the power of the direct signals. Consequently, the superimposition of the crosstalk precompensation signals on a victim line may cause a violation of the transmit Power Spectral Density (PSD) mask, which defines the allowed amount of signal power for an individual user as a function of frequency, and may as well result in signal clipping within the Digital to Analog Converter (DAC) causing severe signal distortions.
A prior art solution is to scale down the gains of the direct signals, and thus of the corresponding precompensation signals, such that the transmit signals, including both the direct and precompensation signals, remain within the allowed bounds. The PSD reduction is line and frequency dependent, and may change over time, e.g. when a line joins or leaves the vectoring group. The change in direct signal gains must be communicated to the respective receivers for proper channel equalization. This first solution has been described in a standard contribution to the International Telecommunication Union (ITU) from Alcatel-Lucent entitled “G.fast: Precoder Gain Scaling”, reference ITU-T SG15 Q4a 2013-03-Q4-053, March 2013.
Another prior art solution is the use of Non-Linear Precoding (NLP), which applies modulo arithmetic operation to shift a transmit constellation point with excessive power back within the constellation boundary. At the receiver, the same modulo operation will shift the signal back to its original position.
The idea to employ modulo arithmetic to bound the value of the transmit signal was first introduced by Tomlinson and Harashima independently and nearly simultaneously with application to single-user equalization (M. Tomlinson, “New Automatic Equalizer Employing Modulo Arithmetic” Electronics Letters, 7(5-6), pp. 138-139, March 1971; and H. Harashima, and H. Miyakawa, “Matched-Transmission Technique for Channels with Inter Symbol Interference” IEEE Trans. on Communications, 20(4), pp. 774-780, August 1972). Ginis and Cioffi applied the concept to multi-user system for crosstalk cancellation (G. Ginis and J. M. Cioffi, “A Multi-User Precoding Scheme Achieving Crosstalk Cancellation with Application to DSL Systems”, Proc. 34th Asilomar Conference on Signals, Systems and Computers, 2000).
Yet, modulo operation directly affects the transmit signal and thus the actual crosstalk induced onto the system, ending into a ‘chicken-egg’ problem: modulo operation for a first user alters precompensation for a second user; altered precompensation for the second user alters modulo operation for the second user; altered modulo operation for the second user user alters precompensation for the first user; and altered precompensation for the first user alters modulo operation for the first user; and so forth.
In order to overcome this issue, the non-linear precoder is constructed using the so-called QR matrix decomposition. A good overview of the technique, with step-by-step description of the functions is given by Ikanos (S. Singh, M. Sorbara, “G.fast: Comparison of Linear and Non-Linear Precoding for G.fast on 100 m BT Cable”, ITU-T SG15 Q4a contribution 2013-01-Q4-031, January 2013).
More formally, the channel matrix H is first written as:H=DG  (2),wherein the carrier index k has been voluntarily omitted, D is a diagonal matrix comprising the direct channel coefficients hii, and G is the normalized channel matrix with unit diagonal.
Ideal ZF linear precoding is achieved when the precoding matrix P implements the inverse of the normalized channel matrix, namely:P=G−1  (3),such that H·P=D, the latter being compensated by single-tap Frequency EQualization (FEQ) at the receivers.
With linear ZF precoding, the noise at the receiver input is enhanced by the direct channel frequency response by a factor 1/hi,i. We also note that the noise is evenly enhanced for identical lines as they are all expected to have an almost equal path loss hi,i.
With non-linear precoding, the conjugate transpose of the normalized channel matrix is first factored into two matrices, namely:G*=QR  (4),wherein * denotes the conjugate transpose, R is an N×N upper triangular matrix, and Q is a N×N unitary matrix (i.e., Q*Q=I).
One diagonalizing precoding matrix is then given by:P=QR*−1  (5),yielding HP=DGQR*−1=DR*Q*QR*−1=D. 
Let us write:L=R*−1S  (6),wherein L is a N×N lower triangular matrix with unit diagonal, and S is a N×N normalization diagonal matrix whose elements are the diagonal elements of R*.
The diagonal matrix S indicates a per-line precoding gain that depends on the encoding order. S scaling is to be disposed of as it would adversely affect the power of the direct signals and the achievable bit rates, thereby yielding P=QL and HP=DGQL=DR*Q*QR*−1S=DS. A further equalization step S−1 is thus required at the receivers to recover the initial transmit samples. The gain scaling matrix S is determined by the vectoring controller, and sent to the receivers for proper signal equalization.
Ideal ZF non-linear precoding is thus achieved with a first feedforward filter L, or equivalently with a first feedback filter M=I−L−1=I−S−1R*, followed by a second feedforward filter Q. The feedback structure allows the feeding of the output samples after modulo operation back to the filter's input, while the triangular structure of the matrix M in the feedback loop is a solution to the aforementioned ‘chicken-egg’ problem: the modulo output for user i serves as input for users j encoded later (j>i), but does not affect the output of users k encoded earlier (k<i).
Hence, in a first step, each element i of the transmit vector U is added row by row to the ith output of the feedback filter M, which is a function of the previous i−1 outputs only, but before proceeding to the next row, the output for element i is adapted through a modulo operation, thereby keeping the transmit power within the allowed bounds. In a second step, the resulting vector is multiplied with the matrix Q, which preserves the initial transmit power on account of its unitary property.
More formally, the output of the non-linear precoder X′ is given by:
                                              ⁢                                            x              1              ′                        =                                                            Γ                                      1                    ,                    k                                                  ⁡                                  (                                      u                    1                                    )                                            =                              u                1                                              ⁢                                          ⁢                                          ⁢                                    x              2              ′                        =                                                            Γ                                      2                    ,                    k                                                  ⁡                                  (                                                            u                      2                                        +                                                                  m                        21                                            ⁢                                              x                        1                        ′                                                                              )                                            =                                                Γ                                      2                    ,                    k                                                  ⁡                                  (                                                            u                      2                                        -                                                                                            r                          21                                                                          r                          22                                                                    ⁢                                              x                        1                        ′                                                                              )                                                              ⁢                                          ⁢                                          ⁢          ⋮          ⁢                                          ⁢                                                                      x                  N                  ′                                ⁢                                                      Γ                                          N                      ,                      k                                                        ⁡                                      (                                                                  u                        N                                            +                                                                        m                                                      NN                            -                            1                                                                          ⁢                                                  x                                                      N                            -                            1                                                    ′                                                                    +                      …                      +                                                                        m                                                      N                            ⁢                                                                                                                  ⁢                            1                                                                          ⁢                                                  x                          1                          ′                                                                                      )                                                              =                                                Γ                                      N                    ,                    k                                                  ⁡                                  (                                                            u                      N                                        -                                                                                            r                                                      NN                            -                            1                                                                                                    r                          NN                                                                    ⁢                                              x                                                  N                          -                          1                                                ′                                                              -                    ⋯                    -                                                                                            r                                                      N                            ⁢                                                                                                                  ⁢                            1                                                                                                    r                          NN                                                                    ⁢                                              x                        1                        ′                                                                              )                                                      ,                                              (        7        )            wherein ui, xi′, mij and rij denote the coefficients of U, X′, M and R* respectively, and wherein Γi,k denotes the modulo operator as a function of the constellation size for carrier k and user i.
The modulo operator Γi,k is given by:
                                                        Γ                              i                ,                k                                      ⁡                          (                              x                                  i                  ,                  k                                            )                                =                                    x                              i                ,                k                                      -                          d              ·                              M                                  i                  -                  k                                            ·                              ⌊                                                                            x                                              i                        ,                        k                                                              +                                          d                      ·                                                                        M                                                      i                            ,                            k                                                                          /                        2                                                                                                  d                    ·                                          M                                              i                        ,                        k                                                                                            ⌋                                                    ,                            (        8        )            wherein xi,k denotes a transmit frequency sample for carrier k and user i, Mi,k denotes the number of constellation points per I/Q dimension for carrier k and user i, and d denotes the distance between neighboring constellation points in the one dimension.
At the receiver, the equalized receive signal samples are given by:
                              y          i          ′                =                                            r              ii                        ⁢                                          Γ                                  i                  ,                  k                                            ⁡                              (                                                      u                    i                                    -                                                            ∑                                              j                        =                        1                                                                    i                        -                        1                                                              ⁢                                                                                  ⁢                                                                                            r                          ij                                                                          r                          ii                                                                    ⁢                                              x                        j                        ′                                                                                            )                                              +                                    ∑                              j                =                1                                            i                -                1                                      ⁢                                                  ⁢                                          r                ij                            ⁢                              x                j                ′                                              +                                    z              i                        .                                              (        9        )            
A further equalization step S−1 together with a further modulo operation is then needed to recover the initial transmit vector U:
                                          y            ^                    i                =                                            Γ                              i                ,                k                                      ⁡                          (                                                y                  i                  ′                                                  r                  ii                                            )                                =                                                    Γ                                  i                  ,                  k                                            ⁡                              (                                                                            Γ                                              i                        ,                        k                                                              ⁡                                          (                                                                        u                          i                                                -                                                                              ∑                                                          j                              =                              1                                                                                      i                              -                              1                                                                                ⁢                                                                                                          ⁢                                                                                                                    r                                ij                                                                                            r                                ii                                                                                      ⁢                                                          x                              j                              ′                                                                                                                          )                                                        +                                                            ∑                                              j                        =                        1                                                                    i                        -                        1                                                              ⁢                                                                                  ⁢                                                                                            r                          ij                                                                          r                          ii                                                                    ⁢                                              x                        j                        ′                                                                              +                                                            z                      i                                                              r                      ii                                                                      )                                      =                                                            Γ                                      i                    ,                    k                                                  ⁡                                  (                                                            u                      i                                        +                                                                  z                        i                                                                    r                        ii                                                                              )                                            .                                                          (        10        )            
The term
      u    i    +            z      i              r      ii      is expected to be within the constellation boundaries and thus
      Γ          i      ,      k        ⁡      (                  u        i            +                        z          i                          r          ii                      )  should be equal to
      u    i    +                    z        i                    r        ii              .  The decision ûi is then made on that sample.
We note that the noise sample at the receiver input is enhanced by a factor of 1/rii. We also note that for a cable with identical lines, the diagonal values of the R* matrix do not have the same value; hence the noise enhancement is not the same on each line, which may lead to an unfair distribution of bit rates to the different users depending on the level of crosstalk couplings.
An alternative implementation of a non-linear precoder has been described in the European patent application entitled “Non-Linear Precoder with Separate Modulo Decision” filed by Alcatel-Lucent, and published on May 11, 2014 with publication number EP2800283. In this implementation, the modulo operation is done in a separate sequential loop, only calculating the shift-vector Δ caused by the modulo unit without partial precoding of the transmit samples. After adding the shift vector Δ to the transmit vector U, a full precoding step is performed at once with the precoding matrix P=QL. This implementation is particularly advantageous in that different update policies can be adopted for the modulo shift unit and the precoding stage. For instance, one can use a lower-precision arithmetic for the modulo shift unit since the multiplication of L is not in the data path but only serves in generating the shift vector Δ, with the elements of Δ being on a coarse grid. Still for instance, one may leverage on the techniques developed for linear precoding for tracking the residual crosstalk and for updating the precoding matrix P without tracking Q and L independently.
In G.fast, the first version only supports Linear Precoding (LP) over a 100 MHz communication bandwidth, while mandatory support for NLP over a 200 MHz communication bandwidth will be requested in a second version. Consequently, one might expect that G.fast deployment starts with LP only, and that NLP will be gradually introduced in the field when the second version is ready and NLP capable CPEs are available. This would lead to the co-existence of NLP non-capable and NLP capable CPEs.
As a first solution to this issue, one may substitute NLP capable CPEs for the legacy CPEs, which represents substantial Operation Expenditures (OPEX) and organizational issues (what if a customer is unwilling or unable to replace its CPE, or is in holidays?).
As a second solution, one may use LP only, thereby waiving the NLP performance gains.
As a third and last solution, one may restrict the NLP non-capable CPEs to a reduced bandwidth fcutoff and perform LP below fcutoff and NLP above fcutoff. Simulations suggest a typical cut-off frequency would be about 50 MHz. Yet, this leads to poor performance over the NLP non-capable lines.